using System;

namespace Kopernikus.Parsing.GenericLexing
{
    public class InvalidInputException : Exception
    {
        private readonly int m_col;
        private readonly string m_input;
        private readonly int m_line;
        private readonly int m_pos;

        public InvalidInputException(string input, int pos, int line, int col)
        {
            m_input = input;
            m_pos = pos;
            m_line = line;
            m_col = col;
        }

        public string Input
        {
            get { return m_input; }
        }

        public int Pos
        {
            get { return m_pos; }
        }

        public int Line
        {
            get { return m_line; }
        }

        public int Col
        {
            get { return m_col; }
        }
    }
}